home *** CD-ROM | disk | FTP | other *** search
/ Aminet 43 / Aminet 43 (2001)(GTI - Schatztruhe)[!][Jun 2001].iso / Aminet / util / time / SetDST.lha / SetDST-1.9 / Install-SetDST < prev    next >
Encoding:
Text File  |  2001-03-19  |  11.5 KB  |  438 lines

  1. ;  $VER: InstallSetDST 1.7 (19.3.2001) Copyright © 1999-2001 by Stefan Falke
  2. ;  $Revision: 1.7 $ $Date: 2001/03/19 09:53:05 $
  3.  
  4. (set prog_name "SetDST")
  5.  
  6. (set destdev "DH0:")
  7. (set destdir "SetDST")
  8. (set Install_dest destdev)
  9.  
  10. (set @default-dest "")
  11.  
  12. (set defuser @user-level)
  13.  
  14. (set vernum (getversion))
  15. (set os_ver (/ vernum 65536))
  16. (set os_rev (- vernum (* os_ver 65536)))
  17.  
  18. (set ivernum @installer-version)
  19. (set iver (/ ivernum 65536))
  20. (set irev (- ivernum (* iver 65536)))
  21.  
  22. (if (>= iver 44 ) (
  23.     (effect "center" "horizontal" $0000FF $000000)
  24. ))
  25.  
  26. (set lang_dk 0)
  27. (set lang_de 1)
  28. (set lang_en 2)
  29. (set lang_es 3)
  30. (set lang_fr 4)
  31. (set lang_it 5)
  32. (set lang_no 6)
  33.  
  34. (set lang_builtin lang_en)
  35.  
  36. (set #lch_dku "Dansk")
  37. (set #lch_deu "Deutsch")
  38. (set #lch_enu "English")
  39. (set #lch_esu "Español")
  40. (set #lch_fru "Français")
  41. (set #lch_itu "Italiano")
  42. (set #lch_nou "Norsk")
  43.  
  44. (set #lch_dkl "dansk")
  45. (set #lch_del "deutsch")
  46. (set #lch_enl "english")
  47. (set #lch_esl "español")
  48. (set #lch_frl "français")
  49. (set #lch_itl "italiano")
  50. (set #lch_nol "norsk")
  51.  
  52. (set #language lang_builtin)
  53. (if (= #lch_dkl @language) (set #language lang_dk))
  54. (if (= #lch_del @language) (set #language lang_de))
  55. (if (= #lch_enl @language) (set #language lang_en))
  56. (if (= #lch_esl @language) (set #language lang_es))
  57. (if (= #lch_frl @language) (set #language lang_fr))
  58. (if (= #lch_itl @language) (set #language lang_it))
  59. (if (= #lch_nol @language) (set #language lang_no))
  60.  
  61. (if (= #language lang_de) (
  62.     (set #chdir "Bitte Ziel-Verzeichnis für\nInstallation auswählen.\n\nEin eigenes Verzeichnis wird nicht\nautomatisch erzeugt.")
  63.     (set #chdirhelp "Sie müssen jetzt den Pfad des Verzeichnisses angeben, in das die Dateien kopiert werden sollen.\nNoch nicht vorhandene Verzeichnisse können von diesem Installationprogramm aus angelegt werden und mit einem Schubladen-Icon versehen werden.")
  64.  
  65.     (set #lchelp "Wählen Sie den Sprachen-Katalog der installiert werden soll.")
  66.     (set #askcatdir "In welchem Verzeichnis soll der Sprachen-Katalog installiert werden?")
  67.  
  68.     (set #iconnew "\nWollen Sie das bereits vorhandene SetDST-Icon mit dem Icon aus diesem Installations-Archiv überschreiben?\nWenn Sie in dem vorhandenen Icon ToolTypes verändert haben, sollten Sie 'Nein' wählen.\n(Empfohlene Wahl: 'Nein')")
  69.     (set #datnew "\nWollen Sie die bereits vorhandene Datei mit Zeitzonen-Einträgen mit der Datei aus diesem Installations-Archiv überschreiben?\nWenn Sie in der vorhandenen Datei Einträge verändert oder ergänzt haben, sollten Sie 'Nein' wählen.\n(Empfohlene Wahl: 'Nein')")
  70.     (set #owhelp "Wenn Sie diesen Requester mit 'Ja' beantworten, wird eine eventuell schon vorhandene %sVersion komplett überschrieben!")
  71.     (set #owhelp2 "Wenn Sie diesen Requester mit 'Ja' beantworten, wird eine eventuell schon vorhandene Datei komplett überschrieben!")
  72.  
  73.     (set #askinstall1 "Wollen sie das Hauptprogramm erneut installieren?")
  74.     (set #askinstall2 "Wollen sie das Hauptprogramm mit der Version %ld.%ld installieren?")
  75.     (set #installed1 (cat "Die Version %ld.%ld des Programmes \"%s\" ist vermutlich schon komplett in dem angegebenen Zielverzeichnis installiert.\n" #askinstall1))
  76.     (set #installed2 (cat "ACHTUNG! In dem angegebenen Zielverzeichnis befindet sich bereits die Version %ld.%ld des Programmes \"%s\".\n" #askinstall2))
  77.  
  78.     (set #runstartup "Soll SetDST während des Startvorganges des Computers automatisch ausgeführt werden?")
  79.     (set #rshelp "Wenn Sie diesen Requester mit 'Ja' beantworten, wird das Hauptprogramm in das WBStartup-Verzeichnis kopiert.")
  80.  
  81.     (set #pr_copycats "Kopieren des Sprachen-Katalogs")
  82.     (set #pr_copydata "Kopieren der Zeitzonen-Datei")
  83.     (set #pr_copyguide "Kopieren der Bedienungsanleitung")
  84.     (set #pr_copytools "Kopieren der Hilfsprogramme")
  85.     (set #pr_copymain "Kopieren des Hauptprogrammes")
  86.  
  87.     (set #newer "neuere ")
  88.     (set #older "ältere ")
  89.     (set #no "Nein")
  90.     (set #yes "Ja")
  91. )(
  92.     (set #chdir "Please select a destination directory\nfor the installation.\n\nNo drawer will be created by default.")
  93.     (set #chdirhelp "You have to specify now the path of the drawer in which all files shall be copied.\nNon existant drawers can be created from within this install script including their accompanying icons.")
  94.  
  95.     (set #lchelp "Please select the language catalog to be installed")
  96.     (set #askcatdir "In which drawer do you want the catalog to be installed?")
  97.  
  98.     (set #iconnew "\nDo you want the existing SetDST Icon to be copied over by the new icon from this installation archive?\nChoose 'No' if you have modified any tooltypes in the existing icon.\n(Recommended choice: 'No')")
  99.     (set #datnew "\nDo you want the existing file with timezone records to be copied over by the file from this installation archive?\nChoose 'No' if you have modified or added any entries in the existing file.\n(Recommended choice: 'No')")
  100.  
  101.     (set #owhelp "If you respond to this requester with 'Yes', a possibly existing %sversion will be written over completely!")
  102.     (set #owhelp2 "If you respond to this requester with 'Yes', a possibly existing file will be written over completely!")
  103.  
  104.     (set #askinstall1 "Do you want to install the main program again?")
  105.     (set #askinstall2 "Do you want to install the main program with version %ld.%ld?")
  106.     (set #installed1 (cat "Version %ld.%ld of the program \"%s\" presumably has already been installed completely.\n" #askinstall1))
  107.     (set #installed2 (cat "ATTENTION! Version %ld.%ld of the program \"%s\" already exists in the destination drawer.\n" #askinstall2))
  108.  
  109.     (set #runstartup "Do you want SetDST to be run automatically during computer startup?")
  110.     (set #rshelp "If you respond to this requester with 'Yes', the main program will be copied to the SBStartup drawer.")
  111.  
  112.     (set #pr_copycats "Copy language catalog")
  113.     (set #pr_copydata "Copy timezone data file")
  114.     (set #pr_copyguide "Copy user guide")
  115.     (set #pr_copytools "Copy tools")
  116.     (set #pr_copymain "Copy main program")
  117.  
  118.     (set #newer "newer ")
  119.     (set #older "older ")
  120.     (set #no "No")
  121.     (set #yes "Yes")
  122. ))
  123.  
  124. (procedure startcopy
  125.     (working)
  126.  
  127.     (set file prog_name)
  128.     (set Install_src "")
  129.  
  130.     (if (= copywbs 1)
  131.         (set ddir "sys:wbstartup")
  132.         (set ddir @default-dest)
  133.     )
  134.     (set dfile (tackon ddir prog_name))
  135.     (checkMain)
  136.  
  137.     (if (= docopy 1) (
  138.         (docopyMain)
  139.  
  140.         (set sdir "C")
  141.         (set ddir (tackon Install_dest "C"))
  142.         (docopyTools)
  143.  
  144.         (docopyCats)
  145.  
  146.         (set dfile "SetDST.guide")
  147.         (set file (tackon Install_src dfile))
  148.         (docopyGuides)
  149.  
  150.         (set sdir "S")
  151.         (if (= copywbs 1)
  152.             (set ddir "S:")
  153.             (set ddir (tackon Install_dest "S"))
  154.         )
  155.         (docopyData)
  156.  
  157.     ))
  158.  
  159. )
  160.  
  161. (procedure chooseWBStart
  162.     (set copywbs (askbool
  163.             (prompt    #runstartup)
  164.             (help        #rshelp)
  165.             (choices #yes #no)
  166.         )
  167.     )
  168. )
  169.  
  170. (procedure chooseCats
  171.     (set catalog (askchoice
  172.             (choices #lch_dku #lch_deu #lch_enu #lch_esu #lch_fru #lch_itu #lch_nou)
  173.             (prompt #lchelp)
  174.             (help #lchelp)
  175.             (default #language)
  176.         )
  177.     )
  178.  
  179.     (if (= catalog lang_dk) (set #ulcat #lch_dkl))
  180.     (if (= catalog lang_de) (set #ulcat #lch_del))
  181.     (if (= catalog lang_en) (set #ulcat #lch_enl))
  182.     (if (= catalog lang_es) (set #ulcat #lch_esl))
  183.     (if (= catalog lang_fr) (set #ulcat #lch_frl))
  184.     (if (= catalog lang_it) (set #ulcat #lch_itl))
  185.     (if (= catalog lang_no) (set #ulcat #lch_nol))
  186.  
  187.     (if (= catalog lang_builtin) (set #ulcat ""))
  188.     (if (<> #ulcat "") (
  189.         (if (= copywbs 1)(
  190.             (set catdirc 1)
  191.         )(
  192.             (set catdirc (askchoice
  193.                     (choices (tackon @default-dest (cat "Catalogs/" #ulcat)) (cat "LOCALE:Catalogs/" #ulcat) )
  194.                     (prompt #askcatdir)
  195.                     (help #askcatdir)
  196.                     (default 0)
  197.                 )  
  198.             )
  199.         ))
  200.  
  201.         (if (= catdirc 0) (
  202.             (set catdir @default-dest)
  203.         )(
  204.             (set catdir "LOCALE:")
  205.             (if (< (exists "LOCALE:" (noreq)) 2) (
  206.                 (makedir "sys:Locale")
  207.                 (makeassign "LOCALE" "sys:Locale")
  208.             ))
  209.             )
  210.         )
  211.     ))
  212. )
  213.  
  214. (procedure docopyCats
  215.     (if (<> #ulcat "") (
  216.         (if (< (exists (tackon catdir "Catalogs")) 2)
  217.             (makedir (tackon catdir "Catalogs"))
  218.         )
  219.         (if (< (exists (tackon catdir (cat "Catalogs/" #ulcat)) ) 2)
  220.             (makedir (tackon catdir (cat "Catalogs/" #ulcat)) )
  221.         )
  222.         (copylib
  223.             (prompt #pr_copycats)
  224.             (help @copylib-help)
  225.             (source (cat (tackon Install_src "Catalogs/") #ulcat "/setdst.catalog"))
  226.             (dest (tackon catdir (cat "Catalogs/" #ulcat)) )
  227.             (optional "nofail")
  228.             (confirm)
  229.         )
  230.     ))
  231. )
  232.  
  233. (procedure docopyData
  234.     (if (< (exists ddir) 2)
  235.         (makedir ddir)
  236.     )
  237.  
  238.     (if (exists (tackon ddir "DST.dat"))
  239.         (set nocopydat (askchoice    (choices #yes #no)
  240.                 (prompt #datnew)
  241.                 (help   #datnew)
  242.                 (default 1)
  243.         ))
  244.         (set nocopydat 0)
  245.     )
  246.  
  247.     (if (= nocopydat 0) (
  248.         (copyfiles
  249.             (prompt #pr_copydata)
  250.             (help @copyfiles-help)
  251.             (source sdir)
  252.             (dest ddir)
  253.             (pattern "#?.dat")
  254.             (confirm)
  255.         )
  256.     ))
  257. )
  258.  
  259. (procedure docopyTools
  260.     (if (< (exists ddir) 2)
  261.         (makedir ddir)
  262.     )
  263.     (copyfiles
  264.         (prompt #pr_copytools)
  265.         (help @copyfiles-help)
  266.         (source sdir)
  267.         (dest ddir)
  268.         (pattern "#?")
  269.         (confirm)
  270.     )
  271. )
  272.  
  273. (procedure docopyGuides
  274.     (if (= (exists file) 1)
  275.         (copyfiles
  276.             (prompt #pr_copyguide)
  277.             (help @copyfiles-help)
  278.             (source file)
  279.             (dest Install_dest)
  280.             (infos)
  281.             (optional "nofail")
  282.             (confirm)
  283.         )
  284.     )
  285.  
  286.     (if (>= os_ver 39)
  287.         (tooltype
  288.             (dest (tackon Install_dest dfile))
  289.             (setdefaulttool "MultiView")
  290.         )
  291.         (tooltype
  292.             (dest (tackon Install_dest dfile))
  293.             (setdefaulttool "AmigaGuide")
  294.         )
  295.     )
  296. )
  297.  
  298. (procedure docopyMain
  299.     (if (exists (cat (tackon ddir prog_name) ".info"))
  300.         (set nocopyicon (askchoice    (choices #yes #no)
  301.                                             (prompt #iconnew)
  302.                                             (help   #iconnew)
  303.                                             (default 1)
  304.                         )
  305.         )
  306.         (set nocopyicon 0)
  307.     )
  308.  
  309.     (if (= nocopyicon 1) (
  310.         (copyfiles
  311.             (prompt #pr_copymain)
  312.             (help @copyfiles-help)
  313.             (source file)
  314.             (dest ddir)
  315.             (optional "force")
  316.             (confirm)
  317.         )
  318.     )(
  319.         (copyfiles
  320.             (prompt #pr_copymain)
  321.             (help @copyfiles-help)
  322.             (source file)
  323.             (dest ddir)
  324.             (infos)
  325.             (optional "force")
  326.             (confirm)
  327.         )
  328.     ))
  329. )
  330.  
  331. (procedure checkMain
  332.     (if (= (exists dfile) 1) (
  333.         (set ver_source (getversion file))
  334.         (set ver_s (/ ver_source 65536))
  335.         (set rev_s (- ver_source (* ver_s 65536)))
  336.  
  337.         (set ver_dest (getversion dfile))
  338.         (set ver_d (/ ver_dest 65536))
  339.         (set rev_d (- ver_dest (* ver_d 65536)))
  340.  
  341.         (if (= ver_source ver_dest) (
  342.             (set vprompt (#installed1 ver_s rev_s prog_name))
  343.             (set vhelp (#owhelp ""))
  344.             (set docopy
  345.                 (askbool
  346.                     (prompt    vprompt)
  347.                     (help        vhelp)
  348.                     (choices #yes #no)
  349.                 )
  350.             )
  351.             (if (= @user-level 0) (set docopy 1))
  352.         ))
  353.         (if (< ver_source ver_dest) (
  354.             (set vprompt (#installed2 ver_d rev_d prog_name ver_s rev_s))
  355.             (set vhelp (#owhelp #newer))
  356.             (set docopy
  357.                 (askbool
  358.                     (prompt    vprompt)
  359.                     (help        vhelp)
  360.                     (choices #yes #no)
  361.                 )
  362.             )
  363.             (if (= @user-level 0) (set docopy 0))
  364.         ))
  365.         (if (> ver_source ver_dest) (
  366.             (set vprompt (#installed2 ver_d rev_d prog_name ver_s rev_s))
  367.             (set vhelp (#owhelp #older))
  368.             (set docopy
  369.                 (askbool
  370.                     (prompt    vprompt)
  371.                     (help        vhelp)
  372.                     (choices #yes #no)
  373.                 )
  374.             )
  375.             (if (= @user-level 0) (set docopy 1))
  376.         ))
  377.     )(
  378.         (set docopy 1)
  379.     ))
  380. )
  381.  
  382. (procedure choosedestdir
  383.     (if (= (exists destdev (noreq)) 0) (
  384.         (set destdev (cat (getdevice "sys:") ":"))
  385.         (set Install_dest destdev)
  386.     ))
  387.     (if (= @user-level 0)
  388.         (set Install_dest (cat destdev destdir))
  389.         (set Install_dest destdev)
  390.     )
  391.     (set @default-dest Install_dest)
  392.  
  393.     (set Install_dest
  394.         (askdir
  395.             (prompt    #chdir)
  396.             (help        #chdirhelp)
  397.             (default    @default-dest)
  398.             (newpath)
  399.             (disk)
  400.         )
  401.     )
  402.  
  403.     (if (= @default-dest Install_dest) (
  404.         (if (= (exists @default-dest) 0) (
  405.             (makedir @default-dest
  406.                     (infos)
  407.             )
  408.         ))
  409.     )(
  410.         (set @default-dest Install_dest)
  411.     ))
  412.  
  413.     (user defuser)
  414. )
  415.  
  416. ;
  417. ; Start
  418. ;
  419.  
  420. (if (= iver 0) (
  421.     (set #langhelp "Please choose your language\nBitte Sprache auswählen")
  422.     (set #language (askchoice
  423.             (choices #lch_dku #lch_deu #lch_enu #lch_esu #lch_fru #lch_itu #lch_nou)
  424.             (prompt #langhelp)
  425.             (help #langhelp)
  426.             (default #language)
  427.         )
  428.     )
  429. ))
  430.  
  431. (choosedestdir)
  432. (chooseWBStart)
  433. (chooseCats)
  434.  
  435. (startcopy)
  436.  
  437. (exit)
  438.